github rest api example

마지막 수정일: 2024. 12. 19.

TYPESCRIPT
import { Octokit } from "octokit";

const GIT_ACCESS_TOKEN = process.env.NEXT_PUBLIC_GIT_ACCESS_TOKEN;
const OWNER = process.env.NEXT_PUBLIC_OWNER ?? "";
const REPO = process.env.NEXT_PUBLIC_REPO_NAME ?? "";
const PATH = "programming";

const octokit = new Octokit({
	auth: GIT_ACCESS_TOKEN,
});
export const getRawPosts = async () => {
	try {
		const { data } = await octokit.request(
			"GET /repos/{owner}/{repo}/contents/{path}",
			{
				mediaType: {
					format: "text",
				},
				owner: OWNER,
				repo: REPO,
				path: PATH,
				headers: {
					"X-GitHub-Api-Version": "2022-11-28",
					},
				}
		);
		
		return data;
	} catch (err) {
		throw new Error(`Failed to get: ${err}`);
	}
}; 

export const getPostBlobData = async (sha: string) => {
	try {
		const { data } = await octokit.request(
		"GET /repos/{owner}/{repo}/git/blobs/{file_sha}",
			{
				owner: OWNER,
				repo: REPO,
				file_sha: sha,
				headers: {
					"X-GitHub-Api-Version": "2022-11-28",
				},
			}
		);
		  
		return data;
	} catch (err) {
		throw new Error(`Failed to get: ${err}`);
	}
};